#!/usr/bin/python
# -*- coding:utf-8 -*-
f=open(r'd:/creator/hiden_node.txt','w')
f.truncate()
a=4 #输入节点数+1
f.write('module hiden_node(')
for i in range(1,a):#定义隐含层的输入，是第一层的输出
	f.write('x'+str(i)+',')
for i in range(1,a):#单个神经元计算时的权重
	f.write('w'+str(i)+',')
f.write('th_h,h_out,clk,en);')#隐含层单个神经元的偏置
f.write('\ninput [3:0]')#定义输入，输入层的神经元个数，单个神经元输入层每个神经元的数都带有一个偏置
for i in range(1,a):
	f.write('x'+str(i)+',')
for i in range(1,a):
	f.write('w'+str(i)+',')
f.write('th_h;')#定义单个神经元的偏置
f.write('\ninput clk,en;')#时钟输入和使能输入
f.write('\noutput reg [7:0] h_out;')#单个神经元的加权求和的输出
f.write('\nalways@(posedge clk) begin')#上升沿触发
f.write('\n  if(!en) begin')
f.write('\n    h_out <= relu(')
for i in range(1,a):
	f.write('x'+str(i)+'*'+'w'+str(i)+'+')#单个神经元加权求和
f.write('(-th_h));')
f.write('\n  end')
f.write('\n  else begin')
f.write('\n    h_out <= h_out;')
f.write('\n  end')
f.write('\nend')
f.write('\n\nfunction [7:0] relu(input [7:0] a);\nbegin\n  if(a<0) begin\n    relu = 0;\n  end\n  else begin\n    relu = a;\n  end\nend\nendfunction')
f.write('\nendmodule')
f.close()